上一篇我們已經知道,MCP 是用來讓 AI Application 與外部工具溝通的協定。
但這時候可能會有另一個疑問:
「那 API 跟 Function Calling 不也是在做類似的事情嗎?」
沒錯,所以這篇我們就來把這三個東西放在一起比較。
API 其實大家應該都不陌生,例如天氣服務提供:
GET /weather?city=taipei
程式呼叫 API,就可以取得天氣資料。
你的程式
│
│ API
▼
Weather Service
所以 API 主要解決的是:
「不同程式或服務之間怎麼溝通?」
API 不在乎呼叫它的是不是 AI,只要符合 API 規格,任何程式都可以使用
如果今天希望 AI 可以查天氣,我們可以提供一個 Function:
get_weather(city)
當使用者問:
「台北今天會下雨嗎?」
AI 可以判斷需要使用 get_weather,然後產生對應的參數,接著由我們的程式實際執行這個 Function。
User
│
▼
AI
│
│ Function Calling
▼
你的程式
│
│ API
▼
Weather Service
所以 Function Calling 解決的是:
「AI 要怎麼要求程式執行某個功能?」
MCP 是讓 AI Application 與外部 Tools、資料和服務之間,可以用標準方式溝通。
因此它跟 API、Function Calling 其實不是同一層的東西,可以先這樣記:
| 技術 | 解決的問題 |
|---|---|
| API | 系統與系統怎麼溝通 |
| Function Calling | AI 怎麼要求執行 Function |
| MCP | AI Application 怎麼標準化地連接外部能力 |
而且它們甚至可以一起使用:
AI Application
│
MCP
│
MCP Server
│
Tool
│
API
│
External Service
所以 MCP 並不是 API 的取代品,也不是 Function Calling 的升級版,它們是在不同層次解決不同問題。
API、Function Calling 和 MCP 雖然看起來都跟「呼叫工具」有關,但其實解決的是不同的問題,API 比較偏向系統與系統之間怎麼溝通,Function Calling 則是讓 AI 可以告訴程式「我想使用哪個功能」,而 MCP 則是在這之上,進一步把 AI Application 跟外部 Tools、資料和服務之間的連接方式標準化。
今天先記住這三個:
API:讓程式彼此溝通。
Function Calling:讓 AI 可以要求程式執行功能。
MCP:讓 AI Application 可以用標準方式連接外部 Tools 與資料。
下一篇,我們就來看看 MCP 到底是由哪些東西組成的。